=begin
rs: 分行的字符串,预定义变量 $/ 默认"\n"
io.gets(rs) # gets=get string 最终返回nil 
io.each(rs)
io.each_line(rs)
io.readlines(rs) #返回数组0.
io.eof?
io.lineno(=number) #已读取的行数
# $stdin.each_line do |line|
#     printf("%3d %s",$stdin.lineno,line)
# end
io.each_char
io.each_byte
io.getc # getchar
io.ungetc(ch) #把ch退回io的缓冲输入区
io.getbyte 
io.ungetbyte(byte) # %256 字符串第一个字节
io.read(size) # 不指定size则全部

io.puts(str0,str1,...) # 自动to_s,添加换行符
io.putc(ch)
io.print(str0,str1,...) #自动转换成字符串
io.printf(fmt,arg0,arg1,...)
io.write(str) #返回写入的字节数
io<<str #返回接受者

文件指针
io.pos(=position)
io.seek(offset,whence)
whence:
IO::SEEK_SET:移动到offset指定位置
IO::SEEK_CUR:相对当前位移offset
IO::SEEK_END:相对文件末尾位移offset
io.rewind #返回开头，lineno为0
io.turncate(size) #以size大小截断文件

二进制
io.binmode

缓冲
io.flush #立即输出输出缓冲区
io.sync(=true) #自动读写

命令交互
IO.popen(command,mode)
open("|command",mode)

require "open-uri"
require "stringio"

=end
